<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input type="text" id="txt">
    <script>
        // var aObj = {
        //     username:'tom',
        //     friends:['jesse','John'],
            
        // };
        // var bObj = {
        //     age:33,
        // };

        // function copyObject(from,to){
        //     var to = typeof to === 'object' ? to : {};
        //     for(var i in from){
        //         to[i] = from[i];
        //     }
        //     return to;
        // }
        // var cObj = copyObject(aObj,cObj);

        // function deepCopy (from,to) {
        //     var to = to||{};  //注释当to隐式准换布尔型为false时，to被赋值为{}
        //     for(var i in from){
        //         if(from[i].constructor===Array){
        //             to[i]=[];
        //             deepCopy(from[i],to[i]);
        //         } else if(from[i].constructor===Object){
        //             to[i]={};
        //             deepCopy(from[i],to[i]);
        //         } else{
        //             to[i] = from[i];
        //         }
        //     }
        //     return to;
        // }
        // var r = deepCopy(aObj,r);

/*Object.defineProperty()方法*/
        var txt1 = document.getElementById('txt');
        var data = {

        };
        Object.defineProperty(data, 'txt',
            {
                set:function(v){
                    txt1.value = v;
                    this._txt = v;
                },
                get:function(){
                    return this._txt;
                }
            });
        data.txt = 'Hello Javascript';
        txt.oninput = function(e){
            data.txt = e.target.value;
        };


        // var o = {
        //     arr:[],
        // };
        // Object.defineProperty(o,'username',
        //     {
        //         get:function(){
        //             console.log('hello there');
        //             return this.arr;
        //         },
        //         set:function(v){
        //             this.arr.push(v);
        //             console.log('hi here');
        //         }
        //     }
        // )
        // o.username = 'tom';
        // o.username = 'John';
        // o.username = 'bily';


        // var a = new Object(true);
        // var b = new Object(Boolean());

        function compareArray(a,b){

        }
    </script>
</body>
</html>